const CryptoJS = require('crypto-js');  //引用AES源码js


// AES 秘钥
let AesKey = "1234567890123456";

// AES-128-CBC偏移量
let CBCIV = "1234567890123456";

// 加密选项
let CBCOptions = {
    iv: CryptoJS.enc.Utf8.parse(CBCIV),
    mode:CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
}

/**
 * AES加密（CBC模式，需要偏移量）
 * @param data
 * @returns {*}
 */
export function encrypt(data){
    let key = CryptoJS.enc.Utf8.parse(AesKey);
    let secretData = CryptoJS.enc.Utf8.parse(data);
    let encrypted = CryptoJS.AES.encrypt(
        secretData,
        key,
        CBCOptions
    );
    return encrypted.toString();
}

/**
 * AES解密（CBC模式，需要偏移量）
 * @param data
 * @returns {*}
 */
export function decrypt(data) {
    let key = CryptoJS.enc.Utf8.parse(AesKey);
    let decrypt = CryptoJS.AES.decrypt(
        data,
        key,
        CBCOptions
    );
    return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
